#ifndef L2_D202409_H
#define L2_D202409_H
#include <iostream>
#include <string>
using namespace std;

/** Q1 火中取栗
 *
 * 输入：
 * 0. 每次取栗子会被烧掉一撮毛
 * 1. n 炉子数量 k 每次最多取栗子数量
 * 2. lizi[i] 每个炉子中栗子的数量
 *
 * 输出：mao 笨猫抓出所有栗子最少掉多少撮毛
 *
 * 解题思路：
 *
 */
void Q1() {}

/** Q2 垃圾分类
 *
 * 输入：
 * 1. n 垃圾种类数量
 * 2. n 行，每行一个字符串（垃圾名称） 和一个数字（垃圾类型）
 * 3. 1 代表干垃圾、2 代表湿垃圾、3 代表可回收物、4 代表有害垃圾
 * 4. 随后若干行，每行一个字符串（垃圾名称）
 * 5. 最后一行只有一个 # 表示结束
 *
 * 输出：
 * 1. 干垃圾     Gan laji
 * 2. 湿垃圾     Shi laji
 * 3. 可回收垃圾 Ke Hui Shou
 * 4. 有害垃圾   You Hai Laji
 * 5. 未知垃圾   ?
 *
 * 解题思路：
 *
 */
void Q2() {
  int n;
  cin >> n;
  string type[4] = {"Gan laji", "Shi laji", "Ke Hui Shou", "You Hai laji"};
  string trash[n], temp;
  for (int i = 0; i < n; i++) {
    cin >> temp;
    trash[i] = temp;
  }
  string name[100000];
  int l = 0;
  while (true) {
    cin >> temp;
    if (temp == "#") {
      break;
    }
    name[l] = temp;
    l++;
  }
  for (int i = 0; i < l; i++) {
    int j = 0;
    while (j < 4) {
      if (name[i] == type[j]) {
        break;
      }
      j++;
    }
    cout << ((j == 4) ? "?" : type[j]) << endl;
  }
}

/** Q3 题目名称
 *
 * 输入：
 *
 * 输出：
 *
 * 解题思路：
 *
 */
void Q3() {}

/** Q4 题目名称
 *
 * 输入：
 *
 * 输出：
 *
 * 解题思路：
 *
 */
void Q4() {}

#endif